package gui.negocio.funcionario;

import gui.dados.funcionario.TelaCadastrarGerente;
import gui.negocio.TelaLogin;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

import negocio.cliente.Validar;

public class TelaPrimeiroAcessoDono extends JFrame {
	
	private JButton btConfirmar;
	private JTextField txtNome, txtTelefone, txtRua, txtNumero, txtBairro, txtCidade, txtEmail;
	private JPasswordField txtSenha, txtConfirmarSenha;
	private String login;
	
	
	public TelaPrimeiroAcessoDono(String titulo, int largura, int altura){
		super(titulo);
		this.setBounds(0, 0, largura, altura);
		setResizable(false);
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setUndecorated(true);
		configurarTela();
		setVisible(true);
		
	}

	private void configurarTela() {
		
		btConfirmar = new JButton("Confirmar");
		
		txtNome = new JTextField();
		txtSenha = new JPasswordField();
		txtConfirmarSenha = new JPasswordField();
		txtTelefone = new JTextField();
		txtRua = new JTextField();
		txtNumero = new JTextField();
		txtBairro = new JTextField();
		txtCidade = new JTextField();
		txtEmail = new JTextField();
		
		BorderLayout bl = new BorderLayout();
		setLayout(bl);
		
		JPanel painelSuperior = new JPanel();
		JPanel painelCentro = new JPanel();
		JPanel painelInferior = new JPanel();
		
		painelSuperior.setBackground(Color.red);
		painelCentro.setBackground(Color.white);
		painelInferior.setBackground(Color.red);
		
		add(painelSuperior, BorderLayout.NORTH);
		add(painelCentro, BorderLayout.CENTER);
		add(painelInferior, BorderLayout.SOUTH);
		
		painelSuperior.add(btConfirmar);
		
		painelCentro.setLayout(new GridLayout(9,2));
		painelCentro.add(new JLabel("Nome: "));
		painelCentro.add(txtNome);
		painelCentro.add(new JLabel("Senha: "));
		painelCentro.add(txtSenha);
		painelCentro.add(new JLabel("Confirmar senha: "));
		painelCentro.add(txtConfirmarSenha);
		painelCentro.add(new JLabel("E-mail: "));
		painelCentro.add(txtEmail);
		painelCentro.add(new JLabel("Telefone: "));
		painelCentro.add(txtTelefone);
		painelCentro.add(new JLabel("Rua: "));
		painelCentro.add(txtRua);
		painelCentro.add(new JLabel("N�mero: "));
		painelCentro.add(txtNumero);
		painelCentro.add(new JLabel("Bairro: "));
		painelCentro.add(txtBairro);
		painelCentro.add(new JLabel("Cidade: "));
		painelCentro.add(txtCidade);
		
		painelInferior.add(new JLabel("CopyRigth UFRPE BSI 2� per�odo 2013"));
		
		login = TelaLogin.funcionario.getLogin();
		
		try {
			txtNome.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getNome());
			txtSenha.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getSenha());
			txtTelefone.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getTelefoneCelular());
			txtRua.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getRua());
			txtNumero.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getNumero());
			txtBairro.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getBairro());
			txtCidade.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getCidade());
			txtEmail.setText(TelaCadastrarGerente.cdf.recuperarFuncionario(login).getEmail());
			
		} catch (Exception e) {
			// TODO: handle exception
		}
		
		btConfirmar.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent arg0) {
				
				Validar validar = new Validar();
	
				String senha = TelaLogin.funcionario.getSenha();
				String nome = TelaLogin.funcionario.getNome();
				
				
				String newSenha ="", newConfirmarSenha = "";
				
				for(int i=0; i<=txtSenha.getPassword().length-1;i++){
					newSenha += txtSenha.getPassword()[i];
				}
				
				for(int i=0; i<=txtConfirmarSenha.getPassword().length-1;i++){
					newConfirmarSenha += txtConfirmarSenha.getPassword()[i];
				}
				
				
				
				String newNome = txtNome.getText();
				String newTelefone = txtTelefone.getText();
				String newRua = txtRua.getText();
				String newNumero = txtNumero.getText();
				String newBairro = txtBairro.getText();
				String newCidade = txtCidade.getText();
				String newEmail = txtEmail.getText();
				
				
				
				
				if(validar.validarString(newNome)){
					
					if(!(newNome.equals(nome))){
						
						if(validar.validarString(newSenha)){
							
							if(!(newSenha.equals(senha))){
								
								if(validar.validarSenha(newSenha, newConfirmarSenha)){
									
									if(validar.validarString(newEmail)){
										
										if(validar.validarEmail(newEmail)){
											
											if(validar.validarString(newTelefone)){
												
												if(validar.validarTelefone(newTelefone)){
													
													if(validar.validarString(newRua)){
														
														if(validar.validarString(newNumero)){
															
															if(validar.validarString(newBairro)){
																
																if(validar.validarString(newCidade)){
																	TelaCadastrarGerente.cdf.recuperarFuncionario(login).setRua(newRua);
																	TelaCadastrarGerente.cdf.recuperarFuncionario(login).setNumero(newNumero);
																	TelaCadastrarGerente.cdf.recuperarFuncionario(login).setBairro(newBairro);
																	TelaCadastrarGerente.cdf.recuperarFuncionario(login).setCidade(newCidade);
																	TelaCadastrarGerente.cdf.recuperarFuncionario(login).setTelefoneCelular(newTelefone);
																	TelaCadastrarGerente.cdf.recuperarFuncionario(login).setNome(newNome);
																	TelaCadastrarGerente.cdf.recuperarFuncionario(login).setSenha(newSenha);
																	TelaCadastrarGerente.cdf.recuperarFuncionario(login).setEmail(newEmail);
																	JOptionPane.showMessageDialog(null, "Informa��es inseridas com sucesso");
																	dispose();
																	TelaPrincipalDono tela = new TelaPrincipalDono("Tela Principal Dono", 500, 400);
																}else{
																	JOptionPane.showMessageDialog(null, "Todos os campos devem ser preenchidos");
																}
															}else{
																JOptionPane.showMessageDialog(null, "Todos os campos devem ser preenchidos");
															}
														}else{
															JOptionPane.showMessageDialog(null, "Todos os campos devem ser preenchidos");
														}
													}else{
														JOptionPane.showMessageDialog(null, "Todos os campos devem ser preenchidos");
													}
												}else{
													JOptionPane.showMessageDialog(null,"O telefone n�o existe");
												}
											
											}else{
												JOptionPane.showMessageDialog(null, "Todos os campos devem ser preenchidos");
											}

											
											
										}else{
											JOptionPane.showMessageDialog(null, "O campo e-mail n�o foi preencido ou n�o � v�lido Obs.: O programa s� aceita hotmail e gmail");
										}
										
										
									}else{
										JOptionPane.showMessageDialog(null, "Todos os campos devem ser preenchidos");
									}
								
								}else{
									JOptionPane.showMessageDialog(null, "As senhas n�o correspondem");
									System.out.println(newSenha);
									System.out.println(newConfirmarSenha);
								}
								
							}else{
								JOptionPane.showMessageDialog(null, "Substitua a senha default por uma senha sua");
							}
							
						}else{
							JOptionPane.showMessageDialog(null, "Todos os campos devem ser preenchidos");
						}
					
					}else{
						JOptionPane.showMessageDialog(null, "Substitua o nome default pelo seu nome");
					}
				
				}else{
					JOptionPane.showMessageDialog(null, "Todos os campos devem ser preenchidos");
				}
				
				
			}
		});
		
	}
	
	

}
